
import java.io.BufferedReader;
import java.io.InputStreamReader;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author joaera, julicampagna, giseMontanari, rco251
 */
public class Main {

    public static void main(String[] args) throws Exception{
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
            String read = new String();
            Calculadora calc = new Calculadora();
            Polinomio p = new Polinomio();
            Polinomio q = new Polinomio();
            String p1 = new String();
            String p2 = new String();
            int opcion = 0;
            System.out.println("Bienvenido a la calculadora de polinomios");
            while (opcion!=7){
                System.out.println("Seleccione una Opcion");
                System.out.println("1. Sumar polinomios");
                System.out.println("2. Restar polinomios");
                System.out.println("3. Multiplicar polinomios");
                System.out.println("4. Dividir polinomios");
                System.out.println("5. Comprobar si Ruffini es posible");
                System.out.println("6. Hacer Ruffini");
                System.out.println("7. Salir");
                read = reader.readLine();
                opcion = Integer.parseInt(read);
                switch (opcion) {
                    case 1:
                        //sumar
                        System.out.println("Ingrese el archivo donde se encuentra el primer polinomio");
                        p1 = reader.readLine();
                        p.makePolinomioFromFile(p1);
                        System.out.println("Ingrese el archivo donde se encuentra el segundo polinomio");
                        p2 = reader.readLine();
                        q.makePolinomioFromFile(p2);
                        System.out.print("El resultado es: ");
                        calc.suma(p,q).verPolinomio();
                        System.out.println("Presione una tecla para continuar");
                        reader.readLine();
                        break;
                    case 2:
                        //restar
                        System.out.println("Ingrese el archivo donde se encuentra el primer polinomio");
                        p1 = reader.readLine();
                        p.makePolinomioFromFile(p1);
                        System.out.println("Ingrese el archivo donde se encuentra el segundo polinomio");
                        p2 = reader.readLine();
                        q.makePolinomioFromFile(p2);
                        System.out.println("El resultado es: ");
                        calc.resta(p,q).verPolinomio();
                        System.out.println("Presione una tecla para continuar");
                        reader.readLine();
                        break;
                    case 3:
                        //multiplicar
                        System.out.println("Ingrese el archivo donde se encuentra el primer polinomio");
                        p1 = reader.readLine();
                        p.makePolinomioFromFile(p1);
                        System.out.println("Ingrese el archivo donde se encuentra el segundo polinomio");
                        p2 = reader.readLine();
                        q.makePolinomioFromFile(p2);
                        System.out.println("El resultado es: ");
                        calc.producto(p,q).verPolinomio();
                        System.out.println("Presione una tecla para continuar");
                        reader.readLine();
                        break;
                    case 4:
                        //dividir
                        System.out.println("Ingrese el archivo donde se encuentra el primer polinomio");
                        p1 = reader.readLine();
                        p.makePolinomioFromFile(p1);
                        System.out.println("Ingrese el archivo donde se encuentra el segundo polinomio");
                        p2 = reader.readLine();
                        q.makePolinomioFromFile(p2);
                        System.out.println("El resultado es: ");
                        calc.cociente(p,q).verPolinomio();
                        System.out.println("Presione una tecla para continuar");
                        reader.readLine();
                        break;
                    case 5:
                        //comprobar Ruffini
                        System.out.println("Ingrese el archivo donde se encuentra el primer polinomio");
                        p1 = reader.readLine();
                        p.makePolinomioFromFile(p1);
                        System.out.println("Ingrese el archivo donde se encuentra el segundo polinomio");
                        p2 = reader.readLine();
                        q.makePolinomioFromFile(p2);
                        if (calc.esPosibleRuffini(p, q)){
                            System.out.println("Es posible usar el metodo de Ruffini");
                        }
                        else{
                            System.out.println("No es posible usar el metodo de Ruffini");
                        }
                        System.out.println("Presione una tecla para continuar");
                        reader.readLine();
                        break;
                    case 6:
                        //hacer Ruffini
                        System.out.println("Ingrese el archivo donde se encuentra el primer polinomio");
                        p1 = reader.readLine();
                        p.makePolinomioFromFile(p1);
                        System.out.println("Ingrese el archivo donde se encuentra el segundo polinomio");
                        p2 = reader.readLine();
                        q.makePolinomioFromFile(p2);
                        System.out.println("El resultado es: ");
                        calc.cocienteRuffini(p,q).verPolinomio();
                        System.out.println("Presione una tecla para continuar");
                        reader.readLine();
                        break;
                }
            }
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}